package com.qsd.common.util;

import java.util.List;

import cn.hutool.core.collection.CollectionUtil;
import com.qsd.common.enums.ResultStatus;
import com.qsd.common.vo.PageVo;

/**
 * @Description 数据库工具类
 * @Author Esion
 * @Data 2020年6月15日
 */

public class JdbcUtil {

	/**
	 * 分页插件实现
	 * @param <T>
	 * @param page 页数，从1开始
	 * @param limit 每页数量
	 * @param data 全部信息
	 * @return 分页后的数据
	 * */
	public static <T> PageVo<T> PageUtil(int page, int limit, List<T> data){
//		if (CollectionUtil.isEmpty(data)){
//			return new PageVo<>(ResultStatus.RESULT_NULL, count, null);
//		}
		//结果集的容量
		int size = data.size();
		//总共的页数
		int count = size / limit + 1;
		if(page <= count) {
			int fromIndex = (page - 1) * limit;
			int toIndex = fromIndex;
			if (size - fromIndex > limit) {
				toIndex = fromIndex + limit;
			}else {
				toIndex = size;
			}
			List<T> result = data.subList(fromIndex, toIndex);
			return new PageVo<>(ResultStatus.SUCCESS, count, result);
		}else {
			return new PageVo<>(ResultStatus.RESULT_NULL, count, null);
		}
		
	}
	
}
